Existing programmable logic devices (PLDs) use routing multiplexers to implement programmable routing structures, such as the Stratix II family of PLDs produced by Altera Corporation. FIG. 1 illustrates a simplified representation of the architecture of a logic array block (LAB). An LAB 100 contains a number of logic elements (LEs) 102 that can perform a set of logic functions, such as a lookup table (LUT). Each LE 102 may also contain other structures such as a flip-flop (FF) or an adder. To connect the output of an LE to the input of other LEs, various routing structures are used. The routing structures are multiplexers that can be configured to select an output signal from a set of input signals, and to send the output along a routing wire. The first stage is the LE output multiplexer (LEOM) 104, which can select from one or more of the signals from the LUT, FF, or adder. The LEOM 104 drives an output stub 106 that can connect to the input of various driver input multiplexers (DIMs) 108. Each DIM 108 drives a routing wire of a predetermined length. A typical segment of a routing wire may span 4 LABs in the horizontal direction (either left-going or right-going) and is denoted as an H4 wire 110. The DIM is conventionally given the name corresponding to the type of wire it drives, so that a DIM driving an H4 wire is referred to as an H4 DIM. A wire in the vertical direction, either up-going or down-going, is referred to as a V4 wire 112. At the input side, a set of LAB input multiplexers (LIMs) 114 receive input signals from either horizontal or vertical wires. The LIMs 114 select signals between a set of routing wires and drive the selected signals onto a set of LAB lines 116, which are internal to the LAB 100. The set of LAB lines 116 are in turn received by an LE input multiplexer (LEIM) 118, which drives the input of the LE 102.
Along the length of each routing wire, connections to the inputs of other DIMs are provided, so that each DIM may select as its input another routing wire. For example, an H4 wire may connect to the input of other V4 DIMs to allow a routing connection to proceed horizontally and then vertically. At the end of each routing wire, at least one input to another DIM of the same type is provided, so that routing wires can be connected in series. This method of connecting routing wires serially is called stitching. FIG. 2 illustrates a method of stitching segments of routing wires. As shown in FIG. 2, a first set of four LABs (only one LAB 100a is shown) and a second set of four LABs (100b, 100c, 100d, and 100e) are arranged in a row. The routing wires between the two sets of LABs are stitched together by using a first H4 DIM 108a at LAB 100a. Similarly, a second H4 DIM 108b connects the H4 wire 110 to the next set of four LABs at LAB 100e. 
Both DIMs and LIMs are arranged in columns on both sides of the LEs in the LAB, and an LE may drive DIM inputs not only in its own LAB, but also in adjacent LABs. Architecture of a routing structure for a PLD is described in U.S. Pat. No. 6,630,842, which is incorporated herein by reference in its entirety.
An array of LABs may be placed in a PLD in a grid of X-Y locations. The various routing wires in a given row and column of LABs form the horizontal and vertical channels. The starting points of consecutive wires within a channel are usually staggered, or offset by one LAB.
FIG. 3 illustrates a prior art implementation of a DIM in a programmable logic device. The DIM includes both multiplexing stages and driver stages of a routing structure. In particular, a regular DIM path includes a set of regular input multiplexers 302, a level-restorer circuit 306, and a buffer circuit 308. A regular input multiplexer 302 is typically implemented as two levels of negative metal-oxide semiconductor (NMOS) pass transistors followed by a level-restorer and a buffer. A fast DIM path includes a set of fast input multiplexers 304, the level-restorer circuit 306, and the buffer circuit 308. A fast input multiplexer 304 typically uses a single pass transistor. This fast input multiplexer 304 is connected to an LE output to provide a fast routing connection for the first stage of the routing. A limited number of fast input multiplexers, typically one per DIM, are provided because they are more expensive and because a large number of fast input multiplexers may increase the load on the input of the level-restorer circuit 306, which in turn may lower the performance of the PLD.
As shown in FIG. 1, the shortest signal path between two LEs in two different LABs contains at least four separate logic blocks: LEOM 104, DIM 108, LIM 114, and LEIM 118. A signal travels through these four logic blocks upon leaving an LE. This is the critical path for signal transmission between the output of one LE and the input of another LE via an inter-LAB routing wire. Therefore, there is a need to improve the performance of signal transmission of the PLD. Because global routing wires are required for general paths, one such way of doing so is to reduce the delay of transmitting a signal from the LE to the routing wire.